package cn.isjinhao.se.sql.evaluation.object;

/**
 * @author 01395265
 * @date 2021/4/16
 */
public abstract class Wrapper<T> {

    protected T obj;

    protected Class<?> clazz;

    protected String name;

    protected Wrapper(T t, Class<?> clazz, String name) {
        this.obj = t;
        this.clazz = clazz;
        this.name = name;
        assertValue();
    }

    public T getObj() {
        return obj;
    }

    public Class<?> getClazz() {
        return clazz;
    }

    public String getName() {
        return name;
    }

    protected abstract void assertValue();

}
